package com.ruoyi.project.mahjong.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import com.ruoyi.project.mahjong.domain.TMember;
import com.ruoyi.project.mahjong.domain.TOpenMoney;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 新开桌对象 t_open_table
 *
 * @author ruoyi
 * @date 2023-10-07
 */
@Data
@ApiModel("开桌详情信息实体类描述字段")
public class TOpenTableVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 是否提醒 true为提醒 false 为不用提醒*/
    @ApiModelProperty("是否提醒 true为提醒 false 为不用提醒")
    private Boolean isRemind;

   /** 会员余额不够断电状态 1 足够 2 不够可以断电*/
    @ApiModelProperty("会员余额不够断电状态 1 足够 2 不够可以断电")
    private String accountStatus;

    /** 超时断电断点状态 1 未超时 2 超时*/
    @ApiModelProperty("超时断电断点状态 1 未超时 2 超时")
    private String outTime;

    @ApiModelProperty("计费名称")
    private String costName;

    @ApiModelProperty("桌子名称")
    private String tableName;

    /** 暂停时间*/
    @ApiModelProperty("暂停时间")
    private String stopTime;

    /** 预留1 */
    @Excel(name = "预留1")
    @ApiModelProperty("预留1")
    private String bak3;

    /** 预留1 使用：订单编号 */
    @Excel(name = "预留1")
    @ApiModelProperty("订单编号")
    private String bak2;

    /** 预留1 使用 ：店铺id*/
    @Excel(name = "预留1")
    @ApiModelProperty("店铺id")
    private String bak1;

    /** 房间id */
    @Excel(name = "房间id")
    @ApiModelProperty("房间id")
    private Long roomId;

    /** 桌号id */
    @Excel(name = "桌号id")
    @ApiModelProperty("桌号id")
    private Long tableId;

    /** 员工id */
    @Excel(name = "员工id")
    @ApiModelProperty("员工id")
    private String staffId;

    /** 人数 */
    @Excel(name = "人数")
    @ApiModelProperty("人数")
    private Long peopleNumber;

    /** 计费类型 */
    @Excel(name = "计费类型 ：对应计费表id")
    @ApiModelProperty("计费类型")
    private String costType;

    /** 开桌时长 用处1 用于返回前端开桌时长字符串 2用于保存暂停计时时间*/
    @Excel(name = "开桌时长", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("开桌时长 用处1 用于返回前端开桌时长字符串 2用于保存暂停计时时间")
    private String openTime;

    /** 暂停状态 0关闭 1 开启*/
    @ApiModelProperty(" 暂停状态 0关闭 1 开启")
    private String stopStatus;

    /**暂停时间*/
    @ApiModelProperty(" 暂停时间")
    private String tableStop;

    /** 开始时间 */
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date openStartTime;

    /** 房间类型 */
    @Excel(name = "房间类型")
    @ApiModelProperty("房间类型")
    private String roomType;

    //** 开桌费用 */
    @ApiModelProperty("开桌费用")
    private BigDecimal money;

    //** 商品消费总费用 */
    @ApiModelProperty("商品消费总费用")
    private BigDecimal allProductMoney;

    /** id */
    @ApiModelProperty("id")
    private Long id;

    @ApiModelProperty("会员信息情况")
    private List <MemberOpenVo> memberList;

    @ApiModelProperty("桌子消费列表")
    private List <TOpenMoney> memberBuyList;
}
